package com.hsjk.szwj.module.smedia.controller.admin.mediaManager.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * 列出符合条件的公共素材库媒资基础信息 Request VO
 */
@Data
public class PublicMediaBasicInfosReqVO {
    @Schema(description = "媒资标签", example = "sticker-atmosphere;sticker-bubble;sticker-cute;" +
            "sticker-daily;sticker-expression;sticker-gif")
    private String mediaTagId;

    @Schema(description = "如果为true，返回值中包含文件基础信息", example = "true;false")
    private Boolean includeFileBasicInfo;

    @Schema(description = "用来表示当前调用返回读取到的位置，空代表数据已经读取完毕", example = "pSa1SQ0wCe5pzVrQ6mWZEw==")
    private String nextToken;

    @Schema(description = "本次请求所返回的最大记录条数。最大值：100，默认值：10", example = "10")
    @Min(value = 10, message = "默认值为 10")
    private Integer maxResults;

    @Schema(description = "当前页码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "页码不能为空")
    @Min(value = 1, message = "页码最小值为 1")
    private Integer pageNo;

    @Schema(description = "分页大小", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    @NotNull(message = "每页条数不能为空")
    @Min(value = 10, message = "每页条数最小值为 10")
    @Max(value = 100, message = "每页条数最大值为 100")
    private Integer pageSize;
}
